<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    then:指定用于得到成功value的成功回调和用于得到失败reason的失败的回调，并且返回一个新的Promise实例化对象
    成功的状态：执行then方法的第一个回调函数
    失败的状态：执行then方法的第二个回调函数

    then方法的返回值的Promise实例化对象的状态取决于回调函数中的内容
    如果没有返回值，得到的是成功的Promise，值为undefined
    如果返回的不是Promise实例化对象，则得到一个成功的Promise
    如果返回的是Promise实例化对象，则Promise实例化对象的状态跟结果的值将直接影响result的状态和结果值
    如果抛出异常，则为失败的Peomise
    
    <script>
        const p1 = new Promise((resolve, reject) => {
            resolve('ok')
        })
        const p = p1.then(value => {
            console.log(value);
        })
        console.log(p);
        
        const reslut = p1.then(value => {
            return new Promise((resolve,reject)=>{
                resolve('123')
            })            
        },respone => {
            console.log(respone);
        })
        console.log(reslut);
        
    </script>
</body>

</html>